Taşıma Katmanı
Taşıma katmanı, ağ üzerinden gönderilen verilerin taşınması, güvenilirliği ve hızı için hizmetler sağlar. Taşıma katmanı hizmetleri, protokoller arasında standartlaştırılmıştır ve genellikle TCP ve UDP protokolleri kullanılır.
Multiplexing / Demultiplexing
Multiplexing ve demultiplexing, verilerin bir ağ bağlantısı üzerinde iletilirken aynı bağlantıyı kullanan farklı uygulamalar arasında paylaştırılmasına olanak tanıyan bir işlem çiftidir.
Multiplexing, birden fazla uygulamanın aynı ağ bağlantısı üzerinden veri göndermesine izin verir. Bu işlem, taşıma katmanı protokollerinin, ağ bağlantısındaki birden fazla uygulama arasındaki bağlantıyı yönetmek için birbirleriyle işbirliği yaptığı bir süreçtir. Bu işlem, kaynak ve hedef adresleri kullanarak farklı veri akışlarını tanımlayarak gerçekleştirilir.
Demultiplexing, aynı ağ bağlantısı üzerinden gelen verileri doğru uygulamaya yönlendirmek için kullanılır. Bu işlem, taşıma katmanı protokolünün verileri alması, hangi uygulama tarafından istendiğini belirlemesi ve verileri doğru uygulamaya yönlendirmesi yoluyla gerçekleştirilir. Bu işlem, port numaraları kullanarak farklı uygulama akışlarını ayırt etmeye yardımcı olur.
Multiplexing ve demultiplexing, birden fazla uygulamanın aynı ağ bağlantısı üzerinden veri göndermesine izin vererek ağın kaynaklarını daha verimli kullanmaya yardımcı olur. Bu sayede, ağdaki gecikme süresi ve bant genişliği kullanımı azaltılır ve daha iyi bir performans elde edilir.
Güvenilir Data Transferi:
Güvenilir veri transferi, ağ üzerinden veri gönderme işlemi sırasında ortaya çıkabilecek hataların önlenmesi veya bu hataların düzeltilmesi amacıyla kullanılan bir dizi teknik ve protokoldür. Bu teknikler, veri kaybı, paket bozulması, paket sırasının bozulması veya ağdaki gecikme nedeniyle oluşabilecek diğer hataları gidermeye yardımcı olur.
Güvenilir veri transferi, çoğunlukla taşıma katmanı protokolleri olan TCP (Transmission Control Protocol) ve SCTP (Stream Control Transmission Protocol) ile gerçekleştirilir. Bu protokoller, verilerin bölünmesi, numaralandırılması ve segmentlerin alındığından emin olmak için kontrol toplamları ve zaman aşımı mekanizmaları kullanır.
TCP, güvenilir veri transferi sağlamak için birçok teknik kullanır. İlk olarak, veri bölünür ve her bir parça bir segment olarak adlandırılır. Her segmente bir numara atanır ve alıcı bu numaraları kullanarak doğru sırayı yeniden oluşturabilir. TCP ayrıca, kontrol toplamlarını kullanarak veri bütünlüğünü sağlar ve zaman aşımı mekanizmalarını kullanarak paket kaybını tespit eder.
SCTP, güvenilir veri transferi için benzer teknikleri kullanır, ancak TCP'den farklı olarak çoklu akış desteği sunar. Bu, bir SCTP bağlantısı üzerinden birden fazla veri akışının aynı anda iletilmesine olanak tanır. Ayrıca, SCTP, daha iyi bir hizmet kalitesi sunmak için hizmet kalitesi (QoS) özelliklerini de destekler.
Güvenilir veri transferi, ağlar üzerinde veri transferi için temel bir gerekliliktir. TCP ve SCTP gibi protokoller, bu ihtiyacı karşılamak için geliştirilmiştir ve güvenilir, etkili ve yaygın kullanılan protokollerdir.
Akış Kontrolü
Akış kontrolü, veri transferi sırasında gönderen taraf ile alıcı taraf arasındaki hız uyumsuzluğunu yöneten bir mekanizmadır. Akış kontrolü, gönderenin veri transfer hızını, alıcının kabul edebileceği seviyede tutar. Bu, gönderenin alıcı tarafın verileri kabul edemeyeceği hızda veri göndermesini engeller ve ağdaki yükü dengelemeye yardımcı olur.
Akış kontrolü, taşıma katmanı protokollerinde gerçekleştirilir. TCP protokolü gibi bazı protokoller, akış kontrolü mekanizmalarını kullanarak veri transferindeki hız uyumsuzluğunu yönetir. Gönderen, alıcının alabileceği maksimum veri miktarını bilir ve bu miktarın üzerinde veri göndermeye çalıştığında alıcıdan ACK (onaylama) mesajı alamaz. Bu durumda gönderen veri transfer hızını düşürür.
Akış kontrolü, özellikle yüksek hızlı ağlarda önemlidir. Büyük miktarda veri transfer edildiğinde, gönderenin hızı, ağdaki yükü ve diğer faktörleri göz önünde bulundurarak uygun seviyede tutulmalıdır. Aksi takdirde, ağdaki tıkanıklık artar ve veri transferi yavaşlar veya kesilir.
TCP
TCP (Transmission Control Protocol), internet üzerindeki veri iletiminde kullanılan bir iletişim protokolüdür. TCP, bağlantı yönelimli, güvenilir, akış kontrolü ve hata tespit mekanizmaları olan bir protokoldür.
TCP, iletişim kurulacak iki bilgisayar arasında sanal bir bağlantı kurar. Bu bağlantı, üç yönlü bir el sıkışma yöntemi kullanarak başlatılır. İki bilgisayar, birbirine SYN (synchronize) mesajları gönderir. Gönderen bilgisayar, SYN mesajına ACK (acknowledge) yanıtı verir ve bağlantı oluşur. Bu bağlantı, her iki tarafın belirli bir süre boyunca birbirinden veri alıp vermesini sağlar.
TCP, iletilen verilerin bütünlüğünü korumak için checksum kontrolü kullanır. Alınan her veri paketi, checksum kontrolüne tabi tutulur ve hatalıysa paket tekrar gönderilir.
Akış kontrolü, alıcı tarafından belirtilen hızda veri gönderen tarafından veri gönderilmesini sağlar. Bu sayede alıcı tarafın kapasitesini aşan bir veri akışı oluşması engellenir.
TCP, ayrıca kesintisiz bir veri akışı için sıkışıklık kontrolü sağlar. Sıkışıklık kontrolü, ağ trafiği yoğunluğunu izler ve bağlantı hızını otomatik olarak ayarlar. Bu sayede, yoğun trafik durumlarında veri kaybı veya ağ kesintileri önlenir.
TCP, birçok uygulama protokolü tarafından kullanılır, örneğin HTTP (web), SMTP (e-posta) ve FTP (dosya aktarımı) gibi protokoller TCP kullanarak veri aktarımı gerçekleştirir.
UDP
UDP (User Datagram Protocol), İnternet Protokolü (IP) üzerinde çalışan bir taşıma protokolüdür. TCP'ye kıyasla daha basit bir protokoldür ve güvenilirlik özellikleri sunmaz. UDP, özellikle gerçek zamanlı iletişim uygulamalarında, hızlı ve etkili veri transferi için sıklıkla kullanılır.
UDP, paket anahtarlı bir protokoldür ve veri transferi sırasında hata denetimi yapmaz. Verilerin doğru şekilde iletildiğinden emin olmak için uygulama katmanında ek önlemler almak gerekir. UDP, verileri parçalara ayırarak gönderir ve alıcıya ulaştıklarında parçaları yeniden birleştirir. Bu işlem, veri transferinin hızlı bir şekilde gerçekleşmesini sağlar.
UDP, genellikle DNS, video ve ses yayını, oyunlar ve diğer gerçek zamanlı uygulamalarda kullanılır. Bu tür uygulamalar, hızlı veri transferi ve hızlı yanıt süreleri gerektirir. Bununla birlikte, güvenilirlik ve hata denetimi konusunda daha az hassasiyet gösteren uygulamalarda da kullanılabilir.
UDP'nin avantajları şunlardır:
- TCP'ye göre daha hızlı veri transferi sağlar.
- TCP'nin sağladığı güvenilirlik özelliklerine ihtiyaç duymayan uygulamalar için uygundur.
- Basit bir protokol olduğu için daha az kaynak tüketir.
UDP'nin dezavantajları şunlardır:
- Güvenilirlik özellikleri sağlamadığı için veri kaybına neden olabilir.
- Verilerin doğru şekilde iletilip iletilmediği kontrol edilmediği için hataların tespiti ve düzeltilmesi zordur.
- Verilerin sırası garanti altına alınmaz, bu nedenle bazı uygulamalar için sorun olabilir.